package beans;

import java.util.List;

import javax.naming.NamingException;

import org.richfaces.component.html.HtmlDataTable;

import co.edu.uniquindio.ondas.delegados.AdministradorDelegado;
import co.edu.uniquindio.ondas.dtos.ResumenEvaluacionSeleccionDTO;


/**
 * @author Javier
 *Bean que permite la seleccion de una investigacion
 */
public class SeleccionInvestigacionBean {
	
	private AdministradorDelegado administradorDelegado;
	private List<ResumenEvaluacionSeleccionDTO> listaInvestigacion;
	private ResumenEvaluacionSeleccionDTO investigacionSeleccionada=new ResumenEvaluacionSeleccionDTO(0, 0, 0, 0, 0, 0, 0, 0, 0, "", "", "", "", "", "","");
	/**
	 * Tabla que permite listas las investigaciones
	 */
	private HtmlDataTable tablaInvestigacion;
	
	/**
	 *Metodo constructor
	 * @throws NamingException
	 */
	public SeleccionInvestigacionBean() throws NamingException {
		administradorDelegado=new AdministradorDelegado();
	}
	
	/**
	 * Metodo que permite obtener la lista de evaluaciones
	 * @return
	 */
	public String obtenerListaEvaluaciones()
	{
		listaInvestigacion=administradorDelegado.obtenerListaEvaluacionSeleccion();
		
		return "seleccionGrupos";
	}
	
	/**
	 * Metodo que permite obtener las investigaciones seleccionadas desde interfaz
	 * @return
	 */
	public String obtenerSeleccion()
	{
		investigacionSeleccionada=(ResumenEvaluacionSeleccionDTO) getTablaInvestigacion().getRowData();
		
		return "";
	}
	
	/**
	 * Metodo que permite seleccionar una investigacion para financiar
	 * @return obtenerListaEvaluaciones()
	 */
	public String patrocinarInvestigacion()
	{
		administradorDelegado.patrocinarInvestigacion(investigacionSeleccionada.getIdInvestigacion());
		return obtenerListaEvaluaciones();
	}

	/**
	 *Metodo accesor del atributo listaInvestigacion
	 * @return the listaInvestigacion
	 */
	public List<ResumenEvaluacionSeleccionDTO> getListaInvestigacion() {
		return listaInvestigacion;
	}

	/**
	 *Metodo Modificador del atributo listaInvestigacion
	 * @param listaInvestigacion the listaInvestigacion 
	 */
	public void setListaInvestigacion(
			List<ResumenEvaluacionSeleccionDTO> listaInvestigacion) {
		this.listaInvestigacion = listaInvestigacion;
	}

	/**
	 *Metodo accesor del atributo investigacionSeleccionada
	 * @return the investigacionSeleccionada
	 */
	public ResumenEvaluacionSeleccionDTO getInvestigacionSeleccionada() {
		return investigacionSeleccionada;
	}

	/**
	 *Metodo Modificador del atributo investigacionSeleccionada
	 * @param investigacionSeleccionada the investigacionSeleccionada 
	 */
	public void setInvestigacionSeleccionada(
			ResumenEvaluacionSeleccionDTO investigacionSeleccionada) {
		this.investigacionSeleccionada = investigacionSeleccionada;
	}

	/**
	 *Metodo accesor del atributo tablaInvestigacion
	 * @return the tablaInvestigacion
	 */
	public HtmlDataTable getTablaInvestigacion() {
		return tablaInvestigacion;
	}

	/**
	 *Metodo Modificador del atributo tablaInvestigacion
	 * @param tablaInvestigacion the tablaInvestigacion 
	 */
	public void setTablaInvestigacion(HtmlDataTable tablaInvestigacion) {
		this.tablaInvestigacion = tablaInvestigacion;
	}
	
	
}
